capture program drop output
program define output 
syntax namelist, clist(varlist fv ts) [replay]

local col=1
	foreach x in `namelist'{
		di "`x'"
		estimates use "${results}`x'"
		if !missing("`replay'"){
			estimates store 	`x'
			estimates replay 	`x'
		}

		/*Dependent Variable Statistics*/
		matrix sumstat = e(stats)
		global mu_`col' 	"\thead{`: di string(sumstat[1,1]+0.0001,"%9.3f")'}"
		global sd_`col' 	"\thead{`: di string(sumstat[1,2],"%9.3f")'}"
		global rs_`col' 	"\thead{`: di string(e(r2),"%9.3f")'}"
		global ob_`col'=	"\thead{$"+string(e(N),"%9.0fc")+"$}"
		global rmax_`col'	"\thead{`: di string(e(rmax),"%9.3f")'}"

		/*Coefficients*/
		local row=1
		foreach y in `clist'{
			*di "`y'"
			*di "`e(indepvars)'"

			if strpos("`e(indepvars)'", "`y'"){
				if `: di 2*normal(-abs(_b[`y']/_se[`y']))'<=0.1{
					global star_`col'`row' "\sym{*}"
				}
				if `: di 2*normal(-abs(_b[`y']/_se[`y']))'<=0.05{
					global  star_`col'`row' "\sym{**}"
				}
				if `: di 2*normal(-abs(_b[`y']/_se[`y']))'<=0.01{
					global  star_`col'`row' "\sym{***}"
				}
				if `: di 2*normal(-abs(_b[`y']/_se[`y']))'>0.1{
					global star_`col'`row' "\sym{~}"
				}

				global be_`col'_`row'=		_b[`y']
				global se_`col'_`row'=		_se[`y']
				global cu_`col'_`row'=		_b[`y']+_se[`y']*invnorm(0.95)
				global cl_`col'_`row'=		_b[`y']-_se[`y']*invnorm(0.95)
				global pv_`col'_`row'=		2*normal(-abs(_b[`y']/_se[`y']))

				if _b[`y']==0 & _se[`y']==0{
					global c_`col'_`row' 	\thead{--}
					global ci_`col'_`row' 	\thead{--}
					global call_`col'_`row' \thead{--}

				}

				else{

					global c_`col'_`row' 	"\thead{{`: di string(_b[`y'],"%9.3f")'${star_`col'`row'}}\\{(`: di string(_se[`y'],"%9.3f")')}}"
					global ci_`col'_`row' 	"\thead{[`: di string(_b[`y']-_se[`y']*invnorm(0.975),"%9.3f")';`: di string(_b[`y']+_se[`y']*invnorm(0.975),"%9.3f")']}"
					global call_`col'_`row' 	"\thead{{`: di string(_b[`y'],"%9.3f")'${star_`col'`row'}}\\{(`: di string(_se[`y'],"%9.3f")')}\\{[`: di string(e(N),"%9.0f")']}}"
					global pv_`col'_`row'=		"\thead{{`: di string(2*normal(-abs(_b[`y']/_se[`y'])),"%9.3f")'}}"

				}
			}

			else{
				global c_`col'_`row' 	\thead{--}
				global ci_`col'_`row' 	\thead{--}
				global call_`col'_`row' \thead{--}

			}
						
			di "Position `col'_`row': `y' in `x'"
			local ++row
			
		}
		local ++col
	}
end
